//
//  UILabel+helper.h
//  JQLive
//
//  Created by Bruce on 2020/1/17.
//  Copyright © 2020 mlqk. All rights reserved.
//


#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface UILabel (helper)
//请不要将属性名称取为lineSpacing，UILabel已有此隐藏属性。
@property (assign, nonatomic) CGFloat lineSpace;

/**
 设置Label部分段落的颜色
 
 @param str   标签内容
 @param color 设置颜色
 @param range 设置区域
 @return 调整样式后的文本
 */
+ (NSMutableAttributedString*)putUpLableTextColorWithText:(NSString*)str WtihTextColor:(UIColor*)color WithRang:(NSRange)range;

//设置lable部分段落颜色
- (void)putUpLableTextColorWtihTextColor:(UIColor*)color WithRang:(NSRange)range;

/**
 设置lable部分段落字体大小
 
 @param str   标签内容
 @param font 目标大小
 @param range 设置区域
 @return 调整样式后的文本
 */

+ (NSMutableAttributedString*)putUpLableTextFontrWithText:(NSString*)str WtihTextFont:(UIFont*)font WithRang:(NSRange)range;


/**
 调整Label的行间距
 
 @param label 需要设置的标签
 @param space 需要设置的间距
 @return 调整样式后的文本
 */
+ (NSMutableAttributedString*)putUplineSpacingForLab:(UILabel*)label WithSpacing:(CGFloat)space;

/**
 调整Label的字间距
 
 @param label 需要调整的标签
 @param space 需要调整的距离
 */
+ (NSMutableAttributedString*)changeWordSpaceForLabel:(UILabel *)label WithSpace:(float)space;

/**
 计算文本高度
 
 @param str   文本
 @param width 宽度
 @param fond  字体
 @return  计算完成的高度
 */
+ (CGFloat)getLabHeightWithStr:(NSString*)str withWidth:(CGFloat)width withFond:(UIFont*)fond;

/**
 获取Lab高度
 */
+ (CGFloat)getHeightByWidth:(CGFloat)width title:(NSString *)title font:(UIFont*)font;

/**
 获取Lab宽度
 */
+ (CGFloat)getWidthWithTitle:(NSString *)title font:(UIFont *)font;



/**
 计算文本有多少行，以及每一行的内容
 
 @param label 需要计算的Label
 @return 返回Arr, arr.count是行数，indexobj 是每一行的内容
 */
+ (NSArray *)getLinesArrayOfStringInLabel:(UILabel *)label;
@end

NS_ASSUME_NONNULL_END
